package teste;



/**
 *Prof Neri Aldoir Neitzke - WWW.INFORMATICON.COM.BR   videoaulas@informaticon.com.br
 * @author nerineitzke
 */
import java.util.HashSet;
import javax.swing.*;
import org.hibernate.*;
import org.hibernate.cfg.AnnotationConfiguration;

public class GravaPessoaEndereco
{
     public static void main(String [] args)
     {
         try
         {
             AnnotationConfiguration cfg = new AnnotationConfiguration();
             cfg.addAnnotatedClass(Pessoa.class);
             cfg.addAnnotatedClass(Endereco.class);
             SessionFactory fabrica = cfg.buildSessionFactory();
             Session sessao = fabrica.openSession();
             Transaction tx_pessoa = sessao.beginTransaction();


             Pessoa obj_pessoa = new Pessoa();
             //obj_pessoa.setId_pessoa(3);
             obj_pessoa.setNome_pessoa("Ferreira");


             Endereco obj_endereco = new Endereco();
             //obj_endereco.setId_endereco(1);
             obj_endereco.setDescricao_endereco("Rua 2");
             obj_endereco.setPessoa(obj_pessoa);


             Endereco obj_endereco2 = new Endereco();
             //obj_endereco2.setId_endereco(2);
             obj_endereco2.setDescricao_endereco("Rua 3");
             obj_endereco2.setPessoa(obj_pessoa);

             //sessao.save(obj_endereco);
             obj_pessoa.setEndereco(new HashSet<Endereco>());
             obj_pessoa.getEndereco().add(obj_endereco);
             obj_pessoa.getEndereco().add(obj_endereco2);

             sessao.save(obj_endereco);

             tx_pessoa.commit();
             sessao.close();

         }
         catch(Exception erro)
         {
             JOptionPane.showMessageDialog(null,"Erro na insersão : "+erro);
         }
         //Hibernate: insert into alunos (alu_nome, alu_cidade, alu_fone, alu_curso, alu_codigo) values (?, ?, ?, ?, ?)


     }
}